package main

import "fmt"

type Interface_pointer struct {
	x int
	y int
}

func main() {
	var a interface{}
	var point Interface_pointer = Interface_pointer{1, 2}
	a = point

	var b Interface_pointer
	//b = a不可以这样进行赋值，必须使用类型断言
	//接口是一般类型，不知道具体的类型，所以要转为其他类型就要使用类型断言
	b = a.(Interface_pointer)
	fmt.Println(b)

	//带检测的类型断言
	var x interface{}
	var b2 float32 = 1.1
	x = b2

	//判断断言是否 成功
	if y, ok := x.(float64); ok{
		fmt.Println(y)
	}else{
		fmt.Println("error")
	}
}